home *** CD-ROM | disk | FTP | other *** search
/ Amiga Games: 500 MB Amiga Software / 500 MB Amiga Software - Euber 130 - Amiga Games Disc & Mag.iso / userbox / publicdomain / picticon / source / doloaddt.readme < prev    next >
Text File  |  1995-02-08  |  5KB  |  174 lines

  1.  
  2.    doloaddt.m  --  A datatype load, scale, remap and dither module.
  3.  
  4.                         COPYRIGHT ©1993,94 by:
  5.  
  6.               US.Snail: Chad Randall
  7.                         229 S.Washington St.
  8.                         Manchester, Michigan, 48157-9680  USA
  9.               Internet: crandall@garnet.msen.com
  10.  
  11.  
  12.     Permission is granted for usage is the following contions are met:
  13.  
  14.       1. Program displays "Datatype scaler written by Chad Randall" or equivelent,
  15.           but only if an "About" window is used.
  16.  
  17.       2. Program documentation contains author and copyright information.
  18.           At minimum, a duplication of information located at beginning of this source.
  19.  
  20.       3. If PD or Freeware, no fee is neccesary.
  21.  
  22.       4. If Shareware, then a registered version of said program must be mailed to me.
  23.  
  24.       5. Commercial usage must be authorized by me before distribution.
  25.  
  26.  
  27.  
  28.  
  29.  
  30. To  use  this  module from your E program, you must have E 3.0, as I'm
  31. not sure if it'll work on earlier versions.  You can try if you want.
  32.  
  33.  
  34. Just place the following line near the top of your main E source file:
  35.  
  36. MODULE '*doloaddt'  -> If the module is in the same directory, or
  37.  
  38. MODULE 'tools/doloaddt'  -> if it's located in EMODULES:tools
  39.  
  40.  
  41. The format of the call is:
  42.  
  43. doloaddt(source,rastport,colormap,xtop,ytop,width,height,tags)
  44.  
  45. source: Either a pointer to a string or a clipboard unit number.
  46.     (If  source  <257  then  it's  treated  as  a unit number, strings
  47.      shouldn't reside below here, anyways!)
  48.  
  49. rastport: A pointer to a valid rastport.  No checks are made.
  50.  
  51. colormap: A pointer to a valid colormap.  No checks are made.
  52.  
  53. xtop: The leftmost/topmost point that can be affected.
  54. ytop:
  55.  
  56. width:  The size of the buffer you wish to fill.
  57. height:
  58.  
  59. tags:  A pointer to a list of tagitems;
  60.  
  61.     name    /type    /default
  62.  
  63.   DLDT_CENTER /boolean/FALSE
  64.         If =TRUE then the image is centered in the buffer.
  65.  
  66.   DLDT_INTEGERSCALE /boolean/FALSE
  67.         If =TRUE then integerscaling will be performed.  NOT TESTED (much)
  68.  
  69.     DLDT_DITHER /boolean/TRUE
  70.         If =TRUE then then dithering is performed.
  71.  
  72.     DLDT_REMAP /boolean/TRUE
  73.         If =TRUE then FindColor(colormap) is used to remap colors.
  74.  
  75.   DLDT_ASPECTX /integer/1
  76.   DLDT_ASPECTY /integer/1
  77.         Defines the screen aspect of X:Y
  78.  
  79.     DLDT_SCALE /boolean/TRUE
  80.         If =TRUE then image is scaled to fit buffer, else it's clipped
  81.  
  82.     DLDT_USEASPECT /boolean/TRUE
  83.         If  =TRUE  then  aspect  information is used in scaling, otherwise
  84.     it's ignored.
  85.  
  86.     DLDT_ENLARGE /boolean/FALSE
  87.     NOT IMPLEMENTED
  88.  
  89.     DLDT_CLEAR /boolean/TRUE
  90.         IF =TRUE, then buffer is cleared
  91.  
  92.   DLDT_GAUGE /PTR TO gauge/0
  93.         IF present, then a gauge struct is used to display progress.
  94.     "gauge" is defined below
  95.  
  96.     DLDT_CLIGAUGE /string/0
  97.         If  present,  a  string  is  filled  with  a  number from 1-100 to
  98.     indicate  the  percentage  done.   String  should  contain  a "%s"
  99.     symbol.
  100.  
  101.   DLDT_HOOK /0/0
  102.         NOT IMPLEMENTED/DONT USE
  103.  
  104.   DLDT_INFO /PTR TO imageinfo/0
  105.         If present, an imageinfo struct will be filled with picture/buffer
  106.     information.  Defined below.
  107.  
  108.   DLDT_BIDIRECTIONAL
  109.     NOT IMPLEMENTED
  110.  
  111.   DLDT_DIARRAY
  112.     NOT IMPLEMENTED
  113.  
  114.   DLDT_HIGHPEN /integer/-1
  115.     Highest pen to use for FindColor().  A -1 indicates all pens.
  116.  
  117.   DLDT_FILLCMAP
  118.     PRIVATE
  119.  
  120.   DLDT_GREYSCALE /boolean/FALSE
  121.     Creates a greyscale icon
  122.  
  123.   DLDT_QUANTIZE  /integer/256
  124.     Defines number of greyscales to use.
  125.  
  126.   DLDT_CUSTOMFINDCOLOR
  127.     NOT IMPLEMENTED
  128.  
  129.   DLDT_RENDERHAM /integer/0
  130.     Defines HAM rendering mode.  Use 6 or 8.
  131.  
  132.   DLDT_HAMTHRESHOLD /integer/64
  133.     Defines the fringing limit threshold.
  134.  
  135.   DLDT_FULLHAMBASE /integer/3
  136.     Defines the number of ham-base colors.
  137.  
  138.   DLDT_DISCARDERROR /boolean/FALSE
  139.     Helps HAM fringing a little if =TRUE.  Experimental.
  140.  
  141.  
  142. OBJECT gauge
  143.   rast:PTR TO rastport -> rastport to draw progress bar in
  144.   scr:PTR TO screen    -> needed for drawinfo
  145.   x:INT                -> dimensions of bar box. NO "bevel" box is drawn.
  146.   y:INT                ->  that's up to YOU.
  147.   w:INT
  148.   h:INT
  149. ENDOBJECT
  150.  
  151.  
  152. OBJECT imageinfo
  153.   source_w:LONG      -> source picture dimensions
  154.   source_h:LONG
  155.   destination_x:LONG -> what was affected inside the rastport
  156.   destination_y:LONG
  157.   destination_w:LONG
  158.   destination_h:LONG
  159.   depth:LONG         -> the depth of the source picture
  160.   highest_pen:LONG   ->
  161.   reserved1:LONG
  162.   reserved2:LONG
  163.   reserved3:LONG
  164.   reserved4:LONG
  165.   reserved5:LONG
  166.   reserved6:LONG
  167.   reserved7:LONG
  168.   reserved8:LONG
  169.   blackpen:LONG      -> A pen closest to black
  170.   whitepen:LONG      -> A pen closest to white
  171.   greypen:LONG       -> A pen closest to grey
  172. ENDOBJECT
  173.  
  174.